/*==============================================================================
**                                  Cuong Chu
**                      Proprietary - Copyright (C) 2014
**------------------------------------------------------------------------------
** Supported MCUs      : MCU STM32
** Supported Compilers : KeilC
**------------------------------------------------------------------------------
** File name         : keypad.h
**  
** Module name       : Keypad
**
** Summary: Header file of the keypad module matrix 4x4
**
**= History ===================================================================
** 00.00.01  21/7/2014  Cuong Chu
** - Creation
==============================================================================*/
#ifndef __DV_KEYP_H__
#define __DV_KEYP_H__
/******************************************************************************/
/* INCLUSIONS                                                                 */
/******************************************************************************/
#include "stdint.h"
/******************************************************************************/
/* DEFINITION OF TYPES                                                        */
/******************************************************************************/
typedef enum
{
  KEY_INVALID,            /* no input key */
  KEY_0,                  /* 0 */
  KEY_1,                  /* 1 */
  KEY_2,                  /* 2 */
  KEY_3,                  /* 3 */
  KEY_4,                  /* 4 */
  KEY_5,                  /* 5 */
  KEY_6,                  /* 6 */
  KEY_7,                  /* 7 */
  KEY_8,                  /* 8 */
  KEY_9,                  /* 9 */
  KEY_A,                  /* A */
  KEY_B,                  /* B */
  KEY_C,                  /* C */
  KEY_D,                  /* D */
  KEY_ATK,                /* * */
  KEY_HASH                /* # */
}KEYP_KeyType;           
 
/*******************************************************************************/
/* DECLARATION OF GLOBAL FUNCTIONS                                             */
/*******************************************************************************/
/*******************************************************************************
** Function name: KEYP_Init( void  )
** Description  : The function initialize keypad module          
** Parameter    : none
** Return value : none
** Remarks      : global variables used, side effects
*******************************************************************************/
void KEYP_Init
(
  void
);
/*******************************************************************************
** Function name: KEYP_ScanKey( void  )
** Description  : The function scan keypad
** Parameter    : None
** Return value : Value valid on keypad, see in KEYP_KeyType
** Remarks      : global variables used, side effects
*******************************************************************************/
KEYP_KeyType KEYP_ScanKey
(
  void
);
#endif /* __DV_KEYP_H__ */
